namespace Maple.Branch.AuthServer.Configurations
{
    using System.Collections.Generic;

    public class AuthServerConfiguration
    {
        public const string AuthServerPath = "AuthServer";

        public const string ApiResourcePath = "ApiResources";

        public const string ClientPath = "Clients";

        public ICollection<string> ApiResources { get; set; } = new HashSet<string>();

        public ICollection<ClientConfiguration> Clients { get; set; } = new HashSet<ClientConfiguration>();
    }

    public class ClientConfiguration
    {
        public string ClientId { get; set; }

        public string Description { get; set; }

        public ICollection<string> Scopes { get; set; }

        /// <summary>
        /// <see cref="IdentityServer4.Models.GrantTypes"/>
        /// </summary>
        public ICollection<string> GrantTypes { get; set; }

        public string Secret { get; set; }

        public string RedirectUri { get; set; }

        public string postLogoutRedirectUri { get; set; }

        public ICollection<string> Permissions { get; set; }
    }
}
